﻿using System;
using System.Collections.Generic;

namespace vite_entity.Entities;

/// <summary>
/// 菜单管理
/// </summary>
public partial class SysMenu
{
    /// <summary>
    /// ID
    /// </summary>
    public long Id { get; set; }

    /// <summary>
    /// 父菜单ID
    /// </summary>
    public long ParentId { get; set; }

    /// <summary>
    /// 父节点ID路径
    /// </summary>
    public string? TreePath { get; set; }

    /// <summary>
    /// 菜单名称
    /// </summary>
    public string Name { get; set; } = null!;

    /// <summary>
    /// 菜单类型（1-菜单 2-目录 3-外链 4-按钮）
    /// </summary>
    public sbyte Type { get; set; }

    /// <summary>
    /// 路由名称（Vue Router 中用于命名路由）
    /// </summary>
    public string? RouteName { get; set; }

    /// <summary>
    /// 路由路径（Vue Router 中定义的 URL 路径）
    /// </summary>
    public string? RoutePath { get; set; }

    /// <summary>
    /// 组件路径（组件页面完整路径，相对于 src/views/，缺省后缀 .vue）
    /// </summary>
    public string? Component { get; set; }

    /// <summary>
    /// 【按钮】权限标识
    /// </summary>
    public string? Perm { get; set; }

    /// <summary>
    /// 【目录】只有一个子路由是否始终显示（1-是 0-否）
    /// </summary>
    public sbyte? AlwaysShow { get; set; }

    /// <summary>
    /// 【菜单】是否开启页面缓存（1-是 0-否）
    /// </summary>
    public sbyte? KeepAlive { get; set; }

    /// <summary>
    /// 显示状态（1-显示 0-隐藏）
    /// </summary>
    public bool? Visible { get; set; }

    /// <summary>
    /// 排序
    /// </summary>
    public int? Sort { get; set; }

    /// <summary>
    /// 菜单图标
    /// </summary>
    public string? Icon { get; set; }

    /// <summary>
    /// 跳转路径
    /// </summary>
    public string? Redirect { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime? CreateTime { get; set; }

    /// <summary>
    /// 更新时间
    /// </summary>
    public DateTime? UpdateTime { get; set; }

    /// <summary>
    /// 路由参数
    /// </summary>
    public string? Params { get; set; }
}
